]> git.r.bdr.sh - rbdr/super-polarity/blobdiff - Super Polarity/Actors/Bullet.cs
I think bullets come out now.
[rbdr/super-polarity] / Super Polarity / Actors / Bullet.cs
diff --git a/Super Polarity/Actors/Bullet.cs b/Super Polarity/Actors/Bullet.cs
new file mode 100644 (file)
index 0000000..6862e69
--- /dev/null
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Graphics;
+
+namespace SuperPolarity
+{
+    class Bullet : Actor
+    {
+        protected ParticleEngine particleEngine;
+
+        public Bullet(Game newGame)
+            : base(newGame)
+        {
+        }
+
+        ~Bullet()
+        {
+            particleEngine = null;
+        }
+
+        public override void Initialize(Texture2D texture, Vector2 position)
+        {
+            base.Initialize(texture, position);
+            particleEngine = ParticleEffectFactory.CreateBullet(position);
+        }
+
+        public override void Update(GameTime gameTime)
+        {
+            Velocity.X = (float)(MaxVelocity * Math.Cos(Angle));
+            Velocity.Y = (float)(MaxVelocity * Math.Sin(Angle));
+
+            Position += Velocity;
+
+            particleEngine.Update();
+            particleEngine.EmitterLocation = Position;
+        }
+
+        public override void Draw(SpriteBatch spriteBatch)
+        {
+            base.Draw(spriteBatch);
+            particleEngine.Draw(spriteBatch);
+        }
+    }
+}